package sohsite.pelada.servlets;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sohsite.excecao.EntradaInexistenteException;
import sohsite.excecao.MensagensJSP;
import sohsite.fachada.SistemaSohSite;
import sohsite.pelada.jogo.Jogo;
import sohsite.pelada.peladeiro.Peladeiro;
import sohsite.pelada.peladeiroJogo.PeladeiroJogo;

public class ServletRemoverPeladeiroJogo extends HttpServlet{

	public void doPost(HttpServletRequest req, HttpServletResponse res)
	throws IOException, ServletException{
		SistemaSohSite sohSite = SistemaSohSite.getInstancia();
		String url = req.getParameter("url");
		int idJogo = Integer.parseInt(req.getParameter("idJogo"));
		int idPeladeiro = Integer.parseInt(req.getParameter("idPeladeiroRem"));

		Peladeiro p;
		try {
			p = sohSite.getControladorPelada().consultarPeladeiro(idPeladeiro);
		} catch (EntradaInexistenteException e) {
			res.sendRedirect("./jsp/mensagem.jsp"+ "?idMensagem=" + MensagensJSP.PeladeiroInexistente);
			return;
		}
		
		Jogo jogo;
		try {
			jogo = sohSite.getControladorPelada().consultarJogo(idJogo);
		} catch (EntradaInexistenteException e) {
			res.sendRedirect("./jsp/mensagem.jsp"+ "?idMensagem=" + MensagensJSP.JogoInexistente);
			return;
		}

		PeladeiroJogo peladeiroJogo;
		try {
			peladeiroJogo = jogo.getPeladeiroJogo(p.getId());
		} catch (EntradaInexistenteException e) {
			res.sendRedirect("./jsp/mensagem.jsp"+ "?idMensagem=" + MensagensJSP.PeladeiroJogoInexistente);
			return;
		}
		jogo.getPeladeirosJogo().remove(peladeiroJogo);

		sohSite.getControladorPelada().deletarPeladeiroJogo(peladeiroJogo);
		try {
			sohSite.getControladorPelada().atualizarJogo(jogo);
		} catch (EntradaInexistenteException e) {
			res.sendRedirect("./jsp/mensagem.jsp"+ "?idMensagem=" + MensagensJSP.JogoInexistente);
			return;
		}

		res.sendRedirect(url + "?idJogo=" + idJogo);


	}

}
